

# 信号和槽是相当重要的知识，主要是讲组件的触发信号和对应的事件进行联系起来，达到了事件的界面化处理。
# 当然还有一个非常重要的点就是————组件之间的数据传递，以及数据与数据库的通讯

# 在这里我们主要是深入了解信号和槽，以及信号之间的交互。
# 回顾一下：信号本质上是一个事件，而槽的话就是对应事件需要处理的操作（也就是程序）
#         过程：我们通过组件来触发信号——而信号连接的是对应的槽（槽也就是对应的事件的函数【程序】）

from PyQt5.QtWidgets import *
import sys


class SignalSlotDemo(QWidget):
    def __init__(self):
        super(SignalSlotDemo, self).__init__()
        self.initUI()

    def onClick(self):
        self.btn.setText('信号已经发出')
        self.btn.setStyleSheet('QPushButton(max-width:200px;min-width:200px)')

    def initUI(self):
        self.setGeometry(300, 300, 500, 400)
        self.setWindowTitle('信号（Signal）与槽(Slot)')
        self.btn = QPushButton('我的按钮', self)
        self.btn.clicked.connect(self.onClick)


if __name__ == '__main__':
    app = QApplication(sys.argv)
    gui = SignalSlotDemo()
    gui.show()
    sys.exit(app.exec_())